<!DOCTYPE html>
<!-- 网页使用的语言 -->
<html lang="zh-CN">
<head>
    <!-- 指定字符集 -->
    <meta charset="utf-8">
    <!-- 使用Edge最新的浏览器的渲染方式 -->
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <!-- viewport视口：网页可以根据设置的宽度自动进行适配，在浏览器的内部虚拟一个容器，容器的宽度与设备的宽度相同。
    width: 默认宽度与设备的宽度相同
    initial-scale: 初始的缩放比，为1:1 -->
<!--    <meta name="viewport" content="width=device-width, initial-scale=1">-->
    <!-- 上述3个meta标签*必须*放在最前面，任何其他内容都*必须*跟随其后！ -->
    <meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>


    <title>在线音乐服务器</title>

    <link rel="shortcut icon" href="#" />

    <!-- 1. 导入CSS的全局样式 -->
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <!-- 2. jQuery导入，建议使用1.9以上的版本 -->
    <script src="js/jquery-3.1.1.min.js"></script>
    <!-- 3. 导入bootstrap的js文件 -->
   <!-- <script src="js/bootstrap.min.js"></script>-->
    <style type="text/css">
        td, th {
            text-align: center;
        }
    </style>
    <style>
        #body{
              background-image: url("images/R.jpg");
              background-repeat: no-repeat;
              background-position: 0 20%;
              background-size: cover;
              background-attachment: fixed;
    }
    </style>

    <script type="text/javascript">
        $(function(){
            // 不传参数，使用模糊匹配
            load();
        });

        // 这个的musicName可以传参，也可以不传参，传参就是已模糊匹配的模式来进行查找，不传参就是查询全部音乐
        function load(musicName){
            //前端的参数一定要和后端保持一致，不然是查不到的

            $.ajax({

                type:"GET",
                url:"/music/findmusic",
                data:{"musicName":musicName},
                dataType:"json",
                success:function(obj){
                    console.log(obj);
                    //obj包含了所有的返回信息，然后其中的data就包含了所有的音乐信息，可以先获取到
                    var data = obj.data;

                    var s = '';
                    //然后遍历这个数组
                    for(var i = 0;i < data.length;i++){
                        //每一个音乐都是一个tr标签，然后每一个属性都是一个td标签，然后根据遍历的结果设置每一个tr及其元素
                        //设置一下音乐的播放地址
                        var musicUrl = data[i].url + ".mp3";
                        //这里采用原始拼接的方式
                        console.log(musicUrl);
                        s += '<tr>';
                        s += '<th> <input id= "' + data[i].id + '" type="checkbox"> </th>';// <th> <input id="1" type="checkbox"></th>
                        s += '<td>' + data[i].title + '</td>';
                        s += '<td>' + data[i].singer + '</td>';
                        //s += "<td <a href=\"\">  <audio src= \""+ musicUrl+"\"  + controls=\"controls\" preload=\"none\" loop=\"loop\">  >"  + "</audio> </a> </td>";
                        s += '<td> <button class="btn btn-primary" onclick="playerSong(\''+musicUrl+'\')"> 播放歌曲 </button>' + '</td>';
                        s += '<td> <button class="btn btn-primary" onclick="deleteInfo('+data[i].id+')"> 删除 </button> <button class="btn btn-primary" onclick="loveInfo('+data[i].id+')"> 喜欢 </button>' + '</td>';

                        s += '</tr>';    
                        
                        
                    }
                    //然后将所有的数据放到tbody里面
                    $("#info").html(s);


               }
            });

        }

        //完成上面的一些方法:播放音乐
        function playerSong(obj){
            //然后通过播放器的方法来进行播放 tpPlay(url,title,startTime,autoPlay) 地址，歌名，开始时间，自动播放
            //obj: http://localhost:8080/music/get?path=xxx.mp3
            var title = obj.substring(obj.lastIndexOf("=") + 1);
            SewisePlayer.toPlay(obj,title,0,true);
        } 
        //删除音乐 传入的参数是id
        function deleteInfo(obj){
            $.ajax({
                type:"POST",
                url:"/music/delete",
                data:{"id":obj},
                dataType:"json",
                success:function(body){
                    console.log(body);
                    //判断是否删除成功
                    if(body.data == true){
                        //表示删除成功
                        alert("删除成功，重新加载当前页面");
                        window.location.href="list.html";

                    }else{
                        alert("删除失败");
                    }

                }
            });
        }

        //收藏音乐

        function loveInfo(obj){
            //直接发送请求
            $.ajax({
                type:"POST",
                url:"/lovemusic/likemusic",
                data:{"id":obj},
                dataType:"json",
                success:function(body){
                    //然后这里判断看是否收藏成功了
                    if(body.data == true){
                        alert("收藏成功！");
                        window.location.href="list.html";
                    }else{
                        alert("收藏失败！");
                    }
                }
            });

        }

        //查询和删除选中
        $(function(){
            //这里看查询的事件

            $("#submit1").click( function(){
                //这里的功能就是进行查询而框里面不传参数就是默认的查询所有音乐，传了参数就进行模糊查询
                var name = $("#exampleInputName2").val();
                load(name);
            });
            //when当执行完load函数，则执行done当中的回调函数
            $.when(load).done(function(){
                //删除选中的回调事件
                $("#delete").click(function(){
                    //由于这里存储的不止一条数据，因此这里需要将这些选中的存储下来
                    var id = new Array();
                    var i = 0;
                    //然后遍历所有的checkbox标签
                    $("input:checkbox").each(function(){
                        //看有没有被选中，被选中了就记录下来，没有选中就不用管
                        //this代表每个元素，checked表示看是否选中了
                        if($(this).is(":checked")){
                            id[i] = $(this).attr("id");
                            i++;
                        }
                    });
                    console.log(id);
                    //此时就可以进行删除了
                    $.ajax({
                        url:"/music/deletesel",
                        type:"POST",
                        data:{"id":id},
                        dataType:"json",
                        //执行成功回调这个函数
                        success:function(obj){
                            //看是否删除成功了
                            if(obj.status == 0){
                                alert("删除成功，重新加载此页面！");
                                window.location.href="list.html";
                            }else{
                                alert("删除失败！");
                            }
                        }
                    });
                });
            });
            
        });
        
		
    </script>
</head>

<body id="body">
<div class="container">
    <h3  style="text-align: center">在线音乐服务器实现</h3>
    <div style="float: left;">
        <form class="form-inline">
            <div class="form-group">
                <label for="exampleInputName2">歌曲名</label>
                <input name="name" type="text" class="form-control" id="exampleInputName2" >
            </div>
            <button id="submit1" type="button" class="btn btn-primary">查询</button>
        </form>
    </div>
    <div style="float: right;margin-bottom: 15px">
        <a class="btn btn-primary" href="loveMusic.html">喜欢列表</a>
        <a class="btn btn-primary" href="upload.html">添加歌曲</a>
        <a id="delete" class="btn btn-primary">删除选中</a>
    </div>
    <table border="1" class="table table-bordered table-hover">
        <tr class="success">
            <th>选择</th>
            <th>歌名</th>
            <th>歌手</th>
            <th>歌曲</th>
            <th>操作</th>
        </tr>
        <tbody id="info" valign="middle">

        </tbody>
    </table>
</div>
</body>

<div style="width: 180px; height: 140px; position:absolute; bottom:10px; right:10px">
    <script type="text/javascript" src="player/sewise.player.min.js"></script>
    <script type="text/javascript">
			SewisePlayer.setup({
                //vod表示点播
				server: "vod",
				type: "mp3",
                //这里是默认的一个网址
				videourl:"http://jackzhang1204.github.io/materials/where_did_time_go.mp3",
		        //皮肤 vodOrange vodWhite
                skin: "vodWhite",
                //这里需要设置false(自动播放),设置为true是会出错的
                autostart:"false",
			});
	</script>
</div>



</html>
